aboutsummaryrefslogtreecommitdiff
path: root/src/routes/player/[player]/[profile]/sections/Leaderboards.svelte
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-12-15 18:22:09 -0600
committermat <github@matdoes.dev>2022-12-15 18:22:09 -0600
commit054fe6ddee1ecbbf336c1ec9fbce08ebd0a54ebd (patch)
treeebcbebfe4948cbcf72f8d0c644a8f37714867754 /src/routes/player/[player]/[profile]/sections/Leaderboards.svelte
parent925ad2bfff17f8d9381731fb0050936dcd7e0a72 (diff)
downloadskyblock-stats-054fe6ddee1ecbbf336c1ec9fbce08ebd0a54ebd.tar.gz
skyblock-stats-054fe6ddee1ecbbf336c1ec9fbce08ebd0a54ebd.tar.bz2
skyblock-stats-054fe6ddee1ecbbf336c1ec9fbce08ebd0a54ebd.zip
fix mayor skin + move sections dir
Diffstat (limited to 'src/routes/player/[player]/[profile]/sections/Leaderboards.svelte')
-rw-r--r--src/routes/player/[player]/[profile]/sections/Leaderboards.svelte46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/routes/player/[player]/[profile]/sections/Leaderboards.svelte b/src/routes/player/[player]/[profile]/sections/Leaderboards.svelte
new file mode 100644
index 0000000..817f59a
--- /dev/null
+++ b/src/routes/player/[player]/[profile]/sections/Leaderboards.svelte
@@ -0,0 +1,46 @@
+<script lang="ts">
+ import { fetchApi } from '$lib/api'
+
+ import type { CleanMemberProfile } from '$lib/APITypes'
+ import Emoji from '$lib/Emoji.svelte'
+ import { cleanId, formatNumberFromUnit } from '$lib/utils'
+
+ export let data: CleanMemberProfile
+</script>
+
+{#await fetchApi(`player/${data.member.uuid}/${data.profile.uuid}/leaderboards`, fetch).then( r => r.json() )}
+ Loading...
+{:then leaderboards}
+ {#if leaderboards.length > 0}
+ <ul>
+ {#each leaderboards as leaderboard}
+ <li class="leaderboard-item">
+ <a href="/leaderboard/{leaderboard.name}" class="leaderboard-item-anchor">
+ {leaderboard.positionIndex + 1}) <b>{cleanId(leaderboard.name)}</b>: {formatNumberFromUnit(
+ leaderboard.value,
+ leaderboard.unit ?? null
+ )}
+ </a>
+ </li>
+ {/each}
+ </ul>
+ {:else}
+ <p>This player isn't in any leaderboards. <Emoji value="😦" /></p>
+ {/if}
+{/await}
+
+<style>
+ .leaderboard-item-anchor {
+ color: inherit;
+ }
+ .leaderboard-item {
+ list-style-type: none;
+ }
+ ul {
+ padding-left: 0;
+ margin-top: 0.5em;
+ }
+ p {
+ margin: 0.5rem 0;
+ }
+</style>